package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.dto.DishDto;
import com.itheima.reggie.pojo.Dish;

import java.util.List;

public interface DishService extends IService<Dish> {

    /**
     * 保存菜品，包含口味集合
     *
     * @param dishDto = Dish + List<DishFlavor>
     */
    void saveWithDishFlavor(DishDto dishDto);

    /**
     * 分页查询菜品信息（包含分类名称）
     */
    Page<DishDto> pageDishDto(Integer page, Integer pageSize, String name);

    /**
     * 根据id查询菜品信息，包含口味集合数据（一对多）
     */
    DishDto getByIdWithFlavor(Long id);

    /**
     * 根据id修改菜品信息（包括口味）
     */
    void updateWithFlavor(DishDto dishDto);

    /**
     * 根据id批量删除
     */
    void deleteByIds(Long[] ids);

    /**
     * 根据条件查询菜品列表信息（包括口味集合数据）
     */
    List<DishDto> listDishDto(Dish dish);

    /**
     * 根据套餐id查询对应菜品信息
     */
    List<DishDto> setmealDishDto(Long setmealId);
}
